package com.tenton.service;

import com.tenton.MyException.DataNotExist;
import com.tenton.MyException.InsufficientQuantity;
import com.tenton.pojo.Sales;
import org.springframework.ui.Model;
import org.springframework.ui.ModelMap;

import javax.servlet.http.HttpSession;
import java.util.List;
import java.util.Map;

/**
 * @Date: 2021/1/9
 * @Author: Tenton
 * @Description:
 */
public interface SalesService {
    /**
     * 删除销售记录
     *
     * @param id
     * @param session
     * @return
     */
    void deleteByPrimaryKey(Integer id, HttpSession session);

    /**
     * 新增销售记录
     *
     * @param sales
     * @param session
     * @return
     */
    void insert(Sales sales, HttpSession session) throws InsufficientQuantity, DataNotExist;

    /**
     * 获取所有销售记录
     *
     * @param pn
     * @param model
     * @return
     */
    void getAll(Integer pn, ModelMap model);

    /**
     * 查询销售记录
     *
     * @param id
     * @param model
     */
    void selectByPrimaryKey(Integer id, Model model);

    /**
     * 查询销售记录
     *
     * @param id
     * @return
     */
    Sales selectById(Integer id);

    /**
     * 商品名称模糊查询
     *
     * @param comName
     * @param pn
     * @param model
     * @return
     */
    void getByParams(String comName, Integer pn, ModelMap model);

    /**
     * 商品中销售统计
     * @return
     */
    List<Map<String, Object>> pieData();
}
